home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
BMUG Revelations
/
BMUG Revelations.toast
/
Programming
/
Programming Languages
/
Harvest C
/
MPW Int & Lib
/
Interfaces
/
FileTransfers.h
< prev
next >
Wrap
Text File
|
1991-04-17
|
5KB
|
198 lines
/*
File: FileTransfers.h
Contains: C Interface to the File Transfer Manager
Copyright: © 1988-1990 by Apple Computer, Inc.
All rights reserved.
*/
#ifndef __FILETRANSFERS__
#define __FILETRANSFERS__
#ifndef __PACKAGES__
#include <Packages.h>
#endif __PACKAGES__
#ifndef __CTBUTILITIES__
#include <CTBUtilities.h>
#endif __CTBUTILITIES__
/* current file transfer manager version */
#define curFTVersion 2
/* FTErr */
typedef OSErr FTErr;
#define ftGenericError (-1)
#define ftNoErr 0
#define ftRejected 1
#define ftFailed 2
#define ftTimeOut 3
#define ftTooManyRetry 4
#define ftNotEnoughDSpace 5
#define ftRemoteCancel 6
#define ftWrongFormat 7
#define ftNoTools 8
#define ftUserCancel 9
#define ftNotSupported 10
/* FTDirection */
typedef short FTDirection;
enum {
ftReceiving,
ftTransmitting,
ftFullDuplex
};
/* FTFlags */
typedef unsigned long FTFlags;
enum {
ftIsFTMode = 1 << 0,
ftNoMenus = 1 << 1,
ftQuiet = 1 << 2,
ftSucc = 1 << 7
};
/* FTAttributes */
typedef short FTAttributes;
enum {
ftSameCircuit = 1 << 0,
ftSendDisable = 1 << 1,
ftReceiveDisable = 1 << 2,
ftTextOnly = 1 << 3,
ftNoStdFile = 1 << 4
};
/* FTChoose data structures */
struct FTChooseRec {
long reserved;
long msg;
ProcPtr idleProc;
ProcPtr filterProc;
Str63 newTool;
Ptr newConfig;
ProcPtr eventProc;
};
typedef struct FTChooseRec FTChooseRec;
typedef FTChooseRec *FTChooseRecPtr;
/* FTChooseRec messages */
#define ftChooseNochange 1
#define ftChooseBackdoor 2
struct FTRecord
{
short procID;
FTFlags flags;
FTErr errCode;
long refCon;
long userData;
ProcPtr defProc;
Ptr config;
Ptr oldConfig;
ProcPtr environsProc;
long reserved1;
long reserved2;
Ptr ftPrivate;
ProcPtr sendProc;
ProcPtr recvProc;
ProcPtr writeProc;
ProcPtr readProc;
WindowPtr owner;
FTDirection direction;
SFReply theReply;
long writePtr;
long readPtr;
char *theBuf;
long bufSize;
Str255 autoRec;
FTAttributes attributes;
};
typedef struct FTRecord FTRecord;
typedef FTRecord *FTPtr, **FTHandle;
#ifdef __cplusplus
extern "C" {
#endif
pascal FTErr InitFT(void);
pascal Handle FTGetVersion(FTHandle hFT);
pascal short FTGetFTVersion(void);
pascal FTHandle FTNew(short procID, FTFlags flags, ProcPtr sendProc,
ProcPtr recvProc, ProcPtr readProc, ProcPtr writeProc,
ProcPtr environsProc, WindowPtr owner, long refCon,
long userData);
pascal void FTDispose(FTHandle hFT);
pascal FTErr FTStart(FTHandle hFT, FTDirection direction, const SFReply *fileInfo);
pascal FTErr FTAbort(FTHandle hFT);
pascal void FTExec(FTHandle hFT);
pascal void FTActivate(FTHandle hFT, Boolean activate);
pascal void FTResume(FTHandle hFT, Boolean resume);
pascal Boolean FTMenu(FTHandle hFT, short menuID, short item);
pascal short FTChoose(FTHandle *hFT, Point where, ProcPtr idleProc);
pascal short FTPChoose(FTHandle *hFT, Point where, FTChooseRec *cRec);
pascal void FTEvent(FTHandle hFT, const EventRecord *theEvent);
pascal Boolean FTValidate(FTHandle hFT);
pascal void FTDefault(Ptr *theConfig, short procID, Boolean allocate);
pascal Handle FTSetupPreflight(short procID, long *magicCookie);
pascal void FTSetupSetup(short procID, const void *theConfig, short count, DialogPtr theDialog,
long *magicCookie);
pascal Boolean FTSetupFilter(short procID, const void *theConfig, short count, DialogPtr theDialog,
EventRecord *theEvent, short *theItem, long *magicCookie);
pascal void FTSetupItem(short procID, const void *theConfig, short count, DialogPtr theDialog,
short *theItem, long *magicCookie);
pascal void FTSetupCleanup(short procID, const void *theConfig, short count, DialogPtr theDialog,
long *magicCookie);
pascal void FTSetupXCleanup(short procID, const void *theConfig, short count, DialogPtr theDialog,
Boolean OKed, long *magicCookie);
pascal void FTSetupPostflight(short procID);
pascal Ptr FTGetConfig(FTHandle hFT);
pascal short FTSetConfig(FTHandle hFT, const void *thePtr);
pascal OSErr FTIntlToEnglish(FTHandle hFT, const void *inputPtr, Ptr *outputPtr, short language);
pascal OSErr FTEnglishToIntl(FTHandle hFT, const void *inputPtr, Ptr *outputPtr, short language);
pascal void FTSetRefCon(FTHandle hFT, long refCon);
pascal long FTGetRefCon(FTHandle hFT);
pascal void FTSetUserData(FTHandle hFT, long userData);
pascal long FTGetUserData(FTHandle hFT);
pascal void FTGetToolName(short procID, Str255 name);
pascal short FTGetProcID(ConstStr255Param name);
pascal void FTGetErrorString(FTHandle hFT, short id, Str255 errMsg);
#ifdef __cplusplus
}
#endif
#endif __FILETRANSFERS__